<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SC2API: sc2::DebugInterface Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="SC2-Logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SC2API
   </div>
   <div id="projectbrief">An API for AI for StarCraft II</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>sc2</b></li><li class="navelem"><a class="el" href="classsc2_1_1_debug_interface.html">DebugInterface</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classsc2_1_1_debug_interface-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">sc2::DebugInterface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="sc2__interfaces_8h_source.html">sc2_interfaces.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3b55d464a9bbf3e4225927cf6f6ee7cb"><td class="memItemLeft" align="right" valign="top"><a id="a3b55d464a9bbf3e4225927cf6f6ee7cb"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>AppTest</b> { <b>hang</b> = 1, 
<b>crash</b> = 2, 
<b>exit</b> = 3
 }</td></tr>
<tr class="separator:a3b55d464a9bbf3e4225927cf6f6ee7cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3edaf8b4f0e0155f3b8eaf2cf672ee29"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a3edaf8b4f0e0155f3b8eaf2cf672ee29">DebugTextOut</a> (const std::string &amp;out, <a class="el" href="structsc2_1_1_color.html">Color</a> color=Colors::White)=0</td></tr>
<tr class="separator:a3edaf8b4f0e0155f3b8eaf2cf672ee29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5044b5772c931b1115fd3ec40682a257"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a5044b5772c931b1115fd3ec40682a257">DebugTextOut</a> (const std::string &amp;out, const <a class="el" href="structsc2_1_1_point2_d.html">Point2D</a> &amp;pt_virtual_2D, <a class="el" href="structsc2_1_1_color.html">Color</a> color=Colors::White)=0</td></tr>
<tr class="separator:a5044b5772c931b1115fd3ec40682a257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8037bf4a4941d49c372c6e73dfe4663c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a8037bf4a4941d49c372c6e73dfe4663c">DebugTextOut</a> (const std::string &amp;out, const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;pt3D, <a class="el" href="structsc2_1_1_color.html">Color</a> color=Colors::White)=0</td></tr>
<tr class="separator:a8037bf4a4941d49c372c6e73dfe4663c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d2232ee51265c7b97f7692ec7918ca1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a3d2232ee51265c7b97f7692ec7918ca1">DebugLineOut</a> (const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;p0, const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;p1, <a class="el" href="structsc2_1_1_color.html">Color</a> color=Colors::White)=0</td></tr>
<tr class="separator:a3d2232ee51265c7b97f7692ec7918ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4e7e911795e9e59fca953b5c6d71b22"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#ab4e7e911795e9e59fca953b5c6d71b22">DebugBoxOut</a> (const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;p_min, const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;p_max, <a class="el" href="structsc2_1_1_color.html">Color</a> color=Colors::White)=0</td></tr>
<tr class="separator:ab4e7e911795e9e59fca953b5c6d71b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c4b50b0c3b07cd77c4b9c98afc689b0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a9c4b50b0c3b07cd77c4b9c98afc689b0">DebugSphereOut</a> (const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;p, float r, <a class="el" href="structsc2_1_1_color.html">Color</a> color=Colors::White)=0</td></tr>
<tr class="separator:a9c4b50b0c3b07cd77c4b9c98afc689b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74f53226964fac1ff67f071b09497a8a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a74f53226964fac1ff67f071b09497a8a">DebugCreateUnit</a> (<a class="el" href="classsc2_1_1_s_c2_type.html">UnitTypeID</a> unit_type, const <a class="el" href="structsc2_1_1_point2_d.html">Point2D</a> &amp;p, uint32_t player_id=1, uint32_t count=1)=0</td></tr>
<tr class="separator:a74f53226964fac1ff67f071b09497a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac34014603086b4fd66a36500a63f2083"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#ac34014603086b4fd66a36500a63f2083">DebugKillUnit</a> (const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *unit)=0</td></tr>
<tr class="separator:ac34014603086b4fd66a36500a63f2083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab25a7057a3e3ee4ce4895ffe6b9f665a"><td class="memItemLeft" align="right" valign="top"><a id="ab25a7057a3e3ee4ce4895ffe6b9f665a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#ab25a7057a3e3ee4ce4895ffe6b9f665a">DebugShowMap</a> ()=0</td></tr>
<tr class="memdesc:ab25a7057a3e3ee4ce4895ffe6b9f665a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the entire map visible, i.e., removes the fog-of-war. <br /></td></tr>
<tr class="separator:ab25a7057a3e3ee4ce4895ffe6b9f665a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af232f60819f07b1c6da87ed43da460fa"><td class="memItemLeft" align="right" valign="top"><a id="af232f60819f07b1c6da87ed43da460fa"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#af232f60819f07b1c6da87ed43da460fa">DebugEnemyControl</a> ()=0</td></tr>
<tr class="memdesc:af232f60819f07b1c6da87ed43da460fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables commands to be issued to enemy units. <br /></td></tr>
<tr class="separator:af232f60819f07b1c6da87ed43da460fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21a7588fdc3bceaa1ed7613978826bc6"><td class="memItemLeft" align="right" valign="top"><a id="a21a7588fdc3bceaa1ed7613978826bc6"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a21a7588fdc3bceaa1ed7613978826bc6">DebugIgnoreFood</a> ()=0</td></tr>
<tr class="memdesc:a21a7588fdc3bceaa1ed7613978826bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the food check. <br /></td></tr>
<tr class="separator:a21a7588fdc3bceaa1ed7613978826bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72927b9269c87edb59c9365cfc973000"><td class="memItemLeft" align="right" valign="top"><a id="a72927b9269c87edb59c9365cfc973000"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a72927b9269c87edb59c9365cfc973000">DebugIgnoreResourceCost</a> ()=0</td></tr>
<tr class="memdesc:a72927b9269c87edb59c9365cfc973000"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables resource checks. <br /></td></tr>
<tr class="separator:a72927b9269c87edb59c9365cfc973000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2043a4888715616d85de8509661b4694"><td class="memItemLeft" align="right" valign="top"><a id="a2043a4888715616d85de8509661b4694"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a2043a4888715616d85de8509661b4694">DebugGiveAllResources</a> ()=0</td></tr>
<tr class="memdesc:a2043a4888715616d85de8509661b4694"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gives a bunch of minerals and gas. <br /></td></tr>
<tr class="separator:a2043a4888715616d85de8509661b4694"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a988bfcc598bc0b6ab0a790a7d50926ef"><td class="memItemLeft" align="right" valign="top"><a id="a988bfcc598bc0b6ab0a790a7d50926ef"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a988bfcc598bc0b6ab0a790a7d50926ef">DebugGodMode</a> ()=0</td></tr>
<tr class="memdesc:a988bfcc598bc0b6ab0a790a7d50926ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the units of a player indestructible. <br /></td></tr>
<tr class="separator:a988bfcc598bc0b6ab0a790a7d50926ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4d0b5c80f57c70875dcf024b80939a9"><td class="memItemLeft" align="right" valign="top"><a id="ae4d0b5c80f57c70875dcf024b80939a9"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#ae4d0b5c80f57c70875dcf024b80939a9">DebugIgnoreMineral</a> ()=0</td></tr>
<tr class="memdesc:ae4d0b5c80f57c70875dcf024b80939a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ignores mineral costs. <br /></td></tr>
<tr class="separator:ae4d0b5c80f57c70875dcf024b80939a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed235dae46cd476db8d0fe7d94eb74a"><td class="memItemLeft" align="right" valign="top"><a id="a6ed235dae46cd476db8d0fe7d94eb74a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a6ed235dae46cd476db8d0fe7d94eb74a">DebugNoCooldowns</a> ()=0</td></tr>
<tr class="memdesc:a6ed235dae46cd476db8d0fe7d94eb74a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cooldowns become instant. <br /></td></tr>
<tr class="separator:a6ed235dae46cd476db8d0fe7d94eb74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2391c6d9e93591ec216090eb75cae55e"><td class="memItemLeft" align="right" valign="top"><a id="a2391c6d9e93591ec216090eb75cae55e"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a2391c6d9e93591ec216090eb75cae55e">DebugGiveAllTech</a> ()=0</td></tr>
<tr class="memdesc:a2391c6d9e93591ec216090eb75cae55e"><td class="mdescLeft">&#160;</td><td class="mdescRight">All tech becomes available. <br /></td></tr>
<tr class="separator:a2391c6d9e93591ec216090eb75cae55e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1596fbb711cc74437190ef77eb5e99d4"><td class="memItemLeft" align="right" valign="top"><a id="a1596fbb711cc74437190ef77eb5e99d4"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a1596fbb711cc74437190ef77eb5e99d4">DebugGiveAllUpgrades</a> ()=0</td></tr>
<tr class="memdesc:a1596fbb711cc74437190ef77eb5e99d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">All upgrades are available. <br /></td></tr>
<tr class="separator:a1596fbb711cc74437190ef77eb5e99d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75a1c2a43f05b3fcfc310d85882c63f3"><td class="memItemLeft" align="right" valign="top"><a id="a75a1c2a43f05b3fcfc310d85882c63f3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a75a1c2a43f05b3fcfc310d85882c63f3">DebugFastBuild</a> ()=0</td></tr>
<tr class="memdesc:a75a1c2a43f05b3fcfc310d85882c63f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structures and units are built much faster. <br /></td></tr>
<tr class="separator:a75a1c2a43f05b3fcfc310d85882c63f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e14deec5d84d341f4f3aefc29a198d5"><td class="memItemLeft" align="right" valign="top"><a id="a0e14deec5d84d341f4f3aefc29a198d5"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a0e14deec5d84d341f4f3aefc29a198d5">DebugSetScore</a> (float score)=0</td></tr>
<tr class="memdesc:a0e14deec5d84d341f4f3aefc29a198d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the scripted "curriculum" score. <br /></td></tr>
<tr class="separator:a0e14deec5d84d341f4f3aefc29a198d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afba1e9cbd642833e0de4360aba7ff08e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#afba1e9cbd642833e0de4360aba7ff08e">DebugEndGame</a> (bool victory=false)=0</td></tr>
<tr class="separator:afba1e9cbd642833e0de4360aba7ff08e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9a0d12a1cb638e2c48ecbe5fb492d00"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#ad9a0d12a1cb638e2c48ecbe5fb492d00">DebugSetEnergy</a> (float value, const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *unit)=0</td></tr>
<tr class="separator:ad9a0d12a1cb638e2c48ecbe5fb492d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30ea1ea267baf1a5a0ac8f0cf9a7d679"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a30ea1ea267baf1a5a0ac8f0cf9a7d679">DebugSetLife</a> (float value, const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *unit)=0</td></tr>
<tr class="separator:a30ea1ea267baf1a5a0ac8f0cf9a7d679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abba240758a1312682ac502f254d66d0a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#abba240758a1312682ac502f254d66d0a">DebugSetShields</a> (float value, const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *unit)=0</td></tr>
<tr class="separator:abba240758a1312682ac502f254d66d0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafe669615586b51805c6bf3e9cef7bf1"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#aafe669615586b51805c6bf3e9cef7bf1">DebugMoveCamera</a> (const <a class="el" href="structsc2_1_1_point2_d.html">Point2D</a> &amp;pos)=0</td></tr>
<tr class="separator:aafe669615586b51805c6bf3e9cef7bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a6fd0d4719dea83de3f5e374127a1da"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#a9a6fd0d4719dea83de3f5e374127a1da">DebugTestApp</a> (AppTest app_test, int delay_ms=0)=0</td></tr>
<tr class="separator:a9a6fd0d4719dea83de3f5e374127a1da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae08bd0e07c9ed54c61a2f35225b2efb5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_debug_interface.html#ae08bd0e07c9ed54c61a2f35225b2efb5">SendDebug</a> ()=0</td></tr>
<tr class="separator:ae08bd0e07c9ed54c61a2f35225b2efb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classsc2_1_1_debug_interface.html">DebugInterface</a> draws debug text, lines and shapes. Available at any time after the game starts. Guaranteed to be valid when the OnStep event is called. All debug actions are queued and dispatched when SendDebug is called. All drawn primitives continue to draw without resending until another SendDebug is called. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ab4e7e911795e9e59fca953b5c6d71b22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4e7e911795e9e59fca953b5c6d71b22">&#9670;&nbsp;</a></span>DebugBoxOut()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugBoxOut </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p_max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsc2_1_1_color.html">Color</a>&#160;</td>
          <td class="paramname"><em>color</em> = <code>Colors::White</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Outputs a box specified as two 3D points in the game world. Map coordinates are used. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p0</td><td>One corner of the box. </td></tr>
    <tr><td class="paramname">p1</td><td>The far corner of the box. </td></tr>
    <tr><td class="paramname">color</td><td>(Optional) <a class="el" href="structsc2_1_1_color.html" title="RGB Color. ">Color</a> of the lines. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a74f53226964fac1ff67f071b09497a8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74f53226964fac1ff67f071b09497a8a">&#9670;&nbsp;</a></span>DebugCreateUnit()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugCreateUnit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsc2_1_1_s_c2_type.html">UnitTypeID</a>&#160;</td>
          <td class="paramname"><em>unit_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point2_d.html">Point2D</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>player_id</em> = <code>1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>count</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Creates a unit at the given position. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">unit_type</td><td>Type of unit to create. </td></tr>
    <tr><td class="paramname">p</td><td>Position to create the unit at. </td></tr>
    <tr><td class="paramname">player_id</td><td>Player the unit should belong to. </td></tr>
    <tr><td class="paramname">count</td><td>Number of units to create. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="afba1e9cbd642833e0de4360aba7ff08e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afba1e9cbd642833e0de4360aba7ff08e">&#9670;&nbsp;</a></span>DebugEndGame()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugEndGame </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>victory</em> = <code>false</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Ends a game. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">victory</td><td>If true, this player is victorious. If false, this player surrenders. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac34014603086b4fd66a36500a63f2083"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac34014603086b4fd66a36500a63f2083">&#9670;&nbsp;</a></span>DebugKillUnit()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugKillUnit </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *&#160;</td>
          <td class="paramname"><em>unit</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Destroy a unit. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td><a class="el" href="classsc2_1_1_unit.html" title="A unit. Could be a structure, a worker or a military unit. ">Unit</a> to destroy. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3d2232ee51265c7b97f7692ec7918ca1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d2232ee51265c7b97f7692ec7918ca1">&#9670;&nbsp;</a></span>DebugLineOut()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugLineOut </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsc2_1_1_color.html">Color</a>&#160;</td>
          <td class="paramname"><em>color</em> = <code>Colors::White</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Outputs a line between two 3D points in the game world. Map coordinates are used. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p0</td><td>The starting position of the line. </td></tr>
    <tr><td class="paramname">p1</td><td>The ending position of the line. </td></tr>
    <tr><td class="paramname">color</td><td>(Optional) <a class="el" href="structsc2_1_1_color.html" title="RGB Color. ">Color</a> of the line. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aafe669615586b51805c6bf3e9cef7bf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafe669615586b51805c6bf3e9cef7bf1">&#9670;&nbsp;</a></span>DebugMoveCamera()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugMoveCamera </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point2_d.html">Point2D</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the position of the camera. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pos</td><td>The camera position in world space. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad9a0d12a1cb638e2c48ecbe5fb492d00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9a0d12a1cb638e2c48ecbe5fb492d00">&#9670;&nbsp;</a></span>DebugSetEnergy()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugSetEnergy </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *&#160;</td>
          <td class="paramname"><em>unit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the energy level on a unit. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The new energy level. </td></tr>
    <tr><td class="paramname">tag</td><td>The unit. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a30ea1ea267baf1a5a0ac8f0cf9a7d679"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30ea1ea267baf1a5a0ac8f0cf9a7d679">&#9670;&nbsp;</a></span>DebugSetLife()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugSetLife </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *&#160;</td>
          <td class="paramname"><em>unit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets the life on a unit. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The new life. </td></tr>
    <tr><td class="paramname">tag</td><td>The unit. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abba240758a1312682ac502f254d66d0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abba240758a1312682ac502f254d66d0a">&#9670;&nbsp;</a></span>DebugSetShields()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugSetShields </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *&#160;</td>
          <td class="paramname"><em>unit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets shields on a unit. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The new shields. </td></tr>
    <tr><td class="paramname">tag</td><td>The unit. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9c4b50b0c3b07cd77c4b9c98afc689b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c4b50b0c3b07cd77c4b9c98afc689b0">&#9670;&nbsp;</a></span>DebugSphereOut()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugSphereOut </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsc2_1_1_color.html">Color</a>&#160;</td>
          <td class="paramname"><em>color</em> = <code>Colors::White</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Outputs a sphere specified as a 3D point in the game world and a radius. Map coordinates are used. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>Center of the sphere. </td></tr>
    <tr><td class="paramname">r</td><td>Radius of the sphere. </td></tr>
    <tr><td class="paramname">color</td><td>(Optional) <a class="el" href="structsc2_1_1_color.html" title="RGB Color. ">Color</a> of the lines. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9a6fd0d4719dea83de3f5e374127a1da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a6fd0d4719dea83de3f5e374127a1da">&#9670;&nbsp;</a></span>DebugTestApp()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugTestApp </td>
          <td>(</td>
          <td class="paramtype">AppTest&#160;</td>
          <td class="paramname"><em>app_test</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>delay_ms</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Cause the game to fail; useful to test library behavior. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">app_test</td><td>State to put the game into. </td></tr>
    <tr><td class="paramname">delay_ms</td><td>Time to elapse before invoking the game state. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3edaf8b4f0e0155f3b8eaf2cf672ee29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3edaf8b4f0e0155f3b8eaf2cf672ee29">&#9670;&nbsp;</a></span>DebugTextOut() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugTextOut </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsc2_1_1_color.html">Color</a>&#160;</td>
          <td class="paramname"><em>color</em> = <code>Colors::White</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Outputs text at the top, left of the screen. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The string of text to display. </td></tr>
    <tr><td class="paramname">color</td><td>(Optional) <a class="el" href="structsc2_1_1_color.html" title="RGB Color. ">Color</a> of the text. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5044b5772c931b1115fd3ec40682a257"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5044b5772c931b1115fd3ec40682a257">&#9670;&nbsp;</a></span>DebugTextOut() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugTextOut </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point2_d.html">Point2D</a> &amp;&#160;</td>
          <td class="paramname"><em>pt_virtual_2D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsc2_1_1_color.html">Color</a>&#160;</td>
          <td class="paramname"><em>color</em> = <code>Colors::White</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Outputs text at any 2D point on the screen. Coordinate ranges are 0..1 in X and Y. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The string of text to display. </td></tr>
    <tr><td class="paramname">pt_virtual_2D</td><td>The screen position to draw text at. </td></tr>
    <tr><td class="paramname">color</td><td>(Optional) <a class="el" href="structsc2_1_1_color.html" title="RGB Color. ">Color</a> of the text. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8037bf4a4941d49c372c6e73dfe4663c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8037bf4a4941d49c372c6e73dfe4663c">&#9670;&nbsp;</a></span>DebugTextOut() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::DebugTextOut </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structsc2_1_1_point3_d.html">Point3D</a> &amp;&#160;</td>
          <td class="paramname"><em>pt3D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structsc2_1_1_color.html">Color</a>&#160;</td>
          <td class="paramname"><em>color</em> = <code>Colors::White</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Outputs text at any 3D point in the game world. Map coordinates are used. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>The string of text to display. </td></tr>
    <tr><td class="paramname">pt3D</td><td>The world position to draw text at. </td></tr>
    <tr><td class="paramname">color</td><td>(Optional) <a class="el" href="structsc2_1_1_color.html" title="RGB Color. ">Color</a> of the text. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae08bd0e07c9ed54c61a2f35225b2efb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae08bd0e07c9ed54c61a2f35225b2efb5">&#9670;&nbsp;</a></span>SendDebug()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void sc2::DebugInterface::SendDebug </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Dispatch all queued debug commands. No debug commands will be sent until this is called. This will also clear or set new debug primitives like text and lines. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/sc2api/<a class="el" href="sc2__interfaces_8h_source.html">sc2_interfaces.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
